1. Field of Invention:
The present invention relates to a device and method for enabling off-line programming of robot tasks. More particularly, the present invention relates to a method of mapping and accommodating robot inaccuracy which enables off-line programming with a high degree of accuracy and flexibility with respect to robot tasks being performed.
2. Prior Art
Robot mechanisms are being increasingly used within the manufacturing industry for performing repetitive tasks in an assembly line configuration. Such use of robots extends from automobile production lines to manufacture of microchips within the computer industry. At present, the primary factor limiting increased market expansion of robotics is the inability of conventional robot systems to perform within very limited tolerances. Inherent robot inaccuracy is a major contributor to this obstacle and has been the object of investigation for many years.
Robot inaccuracy describes the inability of a robot to move to a command pose, defined by position and/or orientation, within the working volume of the robot. For example, a robot control program may direct the movement of a robot arm to a specific point in space based on mechanical specifications of the robot structure and a perceived reference frame to which the robot is oriented. Despite the best of care in manufacture and positioning, however, actual performance of the commanded movement will not place the robot arm precisely at the desired location and/or orientation. This condition, known as robot inaccuracy, is the result of our inability to manufacture and assemble each of the respective robot components to conform to a perfect or ideal robot model. Instead, slight deviations in component length, compliance under stress, imperfect gear matching, and a host of other structural limitations contribute to robot task performance inconsistent with ideal mathematical models. Accordingly, the existence of robot inaccuracy has posed a major obstacle with respect to preprogramming robot movement within a task oriented work cell. Simply stated, the inability to predict the exact position or movement of a robot limits the ability to preprogram an exact path of robot movement. Accordingly, industry has had to turn to alternative forms of programming of robot task performance, despite the numerous advantages that off-line programming offers.
Two of the principal alternative methods for programming robots include the use of sensory systems and teach pendant methods. The teach pendant programming method is the dominant process applied in current robotics relating to performance of a repetitive task. This method is accomplished by leading the robot through a series of necessary intermediate configurations or joint states and then storing such joint states in a robot computer memory. Because the robot is able to reproduce these configurations or joint states, based on the stored data, the robot task can be performed within customary tolerance limits. The end result is that the robot is "taught" the exact task to be performed along a dictated path of movement. The control driver of the robot simply reproduces the sequence of joint states and movements which were programmed by the teach pendant method.
A number of serious limitations exist with respect to this form of robot task programming. For example, programs the same model. In fact, each separate robot has distinct structural and manufacturing deviations due to joint misalignment, joint compliance, gear train errors, standard tolerance deviations, etc. In addition, complex paths of movement may require many intermediate joint poses which are very tedious to program and usually inefficient in operation. Furthermore, robot movement paths in a dynamic or congested work space can be very difficult to teach. In addition, the probability of inadvertent collision with work space hardware is greatly increased.
From a practical point of view, teach pendant methods severely limit the flexibility of robot task performance in an assembly line operation. For example, unacceptable deviations or changes in task performance require the total assembly line to be shut down, even though modification of only one robot element is required. Where robots perform many assembly line tasks, lost production time due to required reprogramming by teach pendant methods can be very costly. Such teach pendant programming must be practiced in the actual work cell because any attempt to move the robot following programming results in changed frames of reference with a concurrent loss of orientation. It is well known to those skilled in the art that these teach pendant limitations consume numerous hours of personnel time and severely constrain the utility of robot task performance within many lines of manufacture.
A second method of robot programming depends on the use of sensor systems to move the robot end-effectors into appropriate interaction with a target object or other feature. This method is typically used when the object parts in the work cell are not delivered in the same orientation or position, or such part has some physical characteristic which is dynamically changing. In this instance, the ability of the robot to repeat actual movements offers no flexibility to adapt to parts with new orientations or position. Accordingly, the sensing device such as a camera or imaging system may be coupled to the distal link of the robot and may be programmed to adapt robot movements in response to a servo system which directs the robot to a detected target location. Unfortunately, sensory guide systems are extremely expensive and require special fixtures, substantial computer support and extensive programming effort. Therefore, economic limitations have severely limited commercial applications for sensor drive systems in robotics.
In addition, several hybrid approaches of these two methods have been applied. For example, in some tasks most global moves may be taught by teach pendant methods, whereas movements within localized areas are accomplished with sensor systems. In other tasks, sensor systems may be used to recognize small deviations in part delivery, with the teach pendant method being applied to maintain the deviated path. This method adapts the robot for changes in the rigid body pose of the part, but is only effective if the part experiences small changes or if the task does not demand tight robot-part interaction tolerances.
In summary, it is apparent that robot repeatability and robot inaccuracy constitute positioning factors which pose critical limitations to the programming of robots. The on-line teach pendant mode utilizes robot repeatability to overcome the robot inaccuracy problem, but is severely limited in its flexibility and requires expensive tooling and an on-going commitment of personnel time. Sensor based systems use feedback to overcome repeatability and accuracy limitations, but are complicated and require significant computational power which tends to slow the process and reduce reliability.
These limitations have prompted further research and development in an effort to realize a more flexible robot application which can accommodate changes in work cell, including variations in part delivery, work cell operating environments and varying throughput demands. Although some attempts have been made to build reference frames which serve as a basis for manipulating robot movement, such reference frames have relied on global techniques, as opposed to localized task areas. Global methods seek to determine the robot inaccuracy over the entire working volume of the robot and use modeling methods to predict or measure kinematic and dynamic hardware sources of robot error. For example, such errors include improper orientations, errors in joint location, transmission system errors, robot compliance under loads, encoder sensor reading error, etc. Once these errors are determined, the methods suggest that mathematical correction models can be implemented to correct the deviations from the ideal robot model.
Such global techniques have not proved successful for measurement of robot inaccuracy because they attempt to accurately define a specific point in space, and then attempt to conform the robot path to that point. Such steps require a knowledge of the exact robot base reference frame is located relative to the robot chassis. This concept is difficult to manage because it is an imaginary rather than actual physical position on the robot. In addition, the complexity of defining given points in a global environment becomes unmanageable. The complexity of programming, the extensive memory storage requirements and the experimental complexity have frustrated all attempts to make global methods the basis for accommodating changes in robot characteristics and robot inaccuracy.
Other related approaches for improvement in robot accuracy have included definition of the kinematic parameters of the robot, with an attempt to compensate in software for any kinematic error. Hayati, S., "Robot Arm Geometric Link Parameter Estimation," Proceedings of the 22nd IEEE Conference on Decision and Control, pp. 1477-1483, December 1983. Other researchers have shown that joint axis misalignment can greatly affect robot positioning accuracy and have developed methods to identify axis position and orientation errors. Mooring, B. W., "An Improved Method for Identifying the Kinematic Parameters in a Six Axis Robot," Texas A & M University. These simulation methods have not fully accounted for measurement error. Furthermore, these measurements have been conducted in global coordinates. Other published literature presents an improved and involved calibration method but still does not overcome measurement errors necessary to achieve acceptable accuracy data. Whitney, D. E., C. A. Lozinski, and J. M. Rourke, "Industrial Robot Calibration Method and Results," Proceedings of the ASME on Computers in Engineering Conference, pp. 92-100, Las Vegas, Nev., August, 1984. Finally, attempts have been made to define a mathematical model which would allow the robot controller to compensate for second order non-linear kinematic effects; however, this has again been related to absolute space and does not account for any manipulator dynamic effects in predicting positioning accuracy. More importantly, all of these techniques attempt to define the robot inaccuracy utilizing global methods.